US 108, N3109 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111747 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/memory b/include/memory index 2e9860c..8ee0dd1 100644 --- a/include/memory +++ b/include/memory
@@ -218,8 +218,6 @@ template <class U, class E> unique_ptr(unique_ptr<U, E>&& u); template <class U> - explicit unique_ptr(auto_ptr<U>& u); - template <class U> unique_ptr(auto_ptr<U>&& u); // destructor @@ -2001,17 +1999,6 @@ "unique_ptr constructed with null function pointer deleter"); } - template <class _Up> - _LIBCPP_INLINE_VISIBILITY explicit unique_ptr(auto_ptr<_Up>& __p, - typename enable_if< - is_convertible<_Up*, _Tp*>::value && - is_same<_Dp, default_delete<_Tp> >::value, - __nat - >::type = __nat()) - : __ptr_(__p.release()) - { - } - #ifdef _LIBCPP_MOVE _LIBCPP_INLINE_VISIBILITY unique_ptr(pointer __p, typename conditional< is_reference<deleter_type>::value, @@ -2695,8 +2682,6 @@ typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type= __nat()); #ifdef _LIBCPP_MOVE template<class _Yp> shared_ptr(auto_ptr<_Yp>&& __r); -#else - template<class _Yp> shared_ptr(auto_ptr<_Yp>& __r); #endif #ifdef _LIBCPP_MOVE private: @@ -2722,7 +2707,7 @@ template<class _Yp> shared_ptr& operator=(shared_ptr<_Yp>&& __r); template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp>&& __r); #else - template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp>& __r); + template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp> __r); #endif #ifdef _LIBCPP_MOVE private: @@ -3004,7 +2989,7 @@ #ifdef _LIBCPP_MOVE shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp>&& __r) #else -shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp>& __r) +shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp> __r) #endif : __ptr_(__r.get()) { diff --git a/test/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp b/test/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp index 24a0d22..e127175 100644 --- a/test/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp +++ b/test/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp Binary files differ